Platform Explorer / Nuxeo Platform 6.0

Component org.nuxeo.theme.webengine

Documentation

Contributions

XML Source

<?xml version="1.0"?>

<component name="org.nuxeo.theme.webengine">

  <documentation>
    @author Jean-Marc Orliaguet (jmo@chalmers.se)
  </documentation>

  <require>org.nuxeo.theme.core</require>
  <!-- TODO: remove -->
  <require>org.nuxeo.theme.fragments</require>

  <extension target="org.nuxeo.theme.services.ThemeService" point="template-engines">

    <template-engine name="freemarker" title="Freemarker"
      template-view="org.nuxeo.theme.webengine.FreemarkerView" />

  </extension>


  <extension target="org.nuxeo.ecm.webengine.WebEngineComponent" point="rendering-extension">

    <rendering-extension name="theme"
      class="org.nuxeo.theme.webengine.fm.extensions.ThemeDirective"/>

    <rendering-extension name="nxthemes_head"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesHeadDirective"/>

    <rendering-extension name="nxthemes_themestyles"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesThemeStylesDirective"/>

    <rendering-extension name="nxthemes_resources"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesResourcesDirective"/>

    <rendering-extension name="nxthemes_accesskeys"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesAccesskeysDirective"/>

    <rendering-extension name="nxthemes_panel"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesPanelDirective"/>

    <rendering-extension name="nxthemes_fragment"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesFragmentDirective"/>

    <rendering-extension name="nxthemes_button"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesButtonDirective"/>

    <rendering-extension name="nxthemes_model"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesModelDirective"/>

    <rendering-extension name="nxthemes_view"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesViewDirective"/>

    <rendering-extension name="nxthemes_controller"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesControllerDirective"/>

    <rendering-extension name="nxthemes_tabs"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesTabsDirective"/>

    <rendering-extension name="nxthemes_require"
      class="org.nuxeo.theme.webengine.fm.extensions.NXThemesRequireDirective"/>
  </extension>


  <extension target="org.nuxeo.theme.services.ThemeService"
    point="standalone-filters">

    <standalone-filter name="write fragment tag" template-engine="freemarker">
      <class>
        org.nuxeo.theme.webengine.fm.filters.standalone.FragmentTag
      </class>
    </standalone-filter>

    <standalone-filter name="control fragment visibility" template-engine="freemarker">
      <class>
        org.nuxeo.theme.html.filters.standalone.FragmentVisibility
      </class>
    </standalone-filter>

    <standalone-filter name="set element name" template-engine="freemarker">
      <class>
        org.nuxeo.theme.html.filters.standalone.ElementName
      </class>
    </standalone-filter>

  </extension>


  <extension target="org.nuxeo.theme.services.ThemeService" point="views">

   <view template-engine="freemarker">
      <format-type>layout</format-type>
      <class>
        org.nuxeo.theme.html.filters.layout.DefaultLayoutView
      </class>
    </view>

    <view template-engine="freemarker">
      <format-type>style</format-type>
      <class>
        org.nuxeo.theme.html.filters.style.DefaultStyleView
      </class>
    </view>

    <!-- Layout -->

    <view name="theme view" template-engine="freemarker">
      <element-type>theme</element-type>
      <format-type>widget</format-type>
      <template>nxthemes/webengine/fm/widgets/theme-view.xml</template>
    </view>

    <view name="page frame" template-engine="freemarker">
      <element-type>page</element-type>
      <format-type>widget</format-type>
      <template>nxthemes/webengine/fm/widgets/page-frame.xml</template>
    </view>

    <view name="section frame" template-engine="freemarker">
      <element-type>section</element-type>
      <format-type>widget</format-type>
      <template>nxthemes/webengine/fm/widgets/section-frame.xml</template>
    </view>

    <view name="cell frame" template-engine="freemarker">
      <element-type>cell</element-type>
      <format-type>widget</format-type>
      <template>nxthemes/webengine/fm/widgets/cell-frame.xml</template>
    </view>


    <!-- Default widgets -->

    <view name="block region" template-engine="freemarker">
      <format-type>widget</format-type>
      <model-type>region</model-type>
      <icon>nxthemes/webengine/fm/icons/block-region.png</icon>
      <class>
        org.nuxeo.theme.webengine.fm.filters.widgets.BlockRegionView
      </class>
    </view>

    <view name="vertical menu" template-engine="freemarker">
      <format-type>widget</format-type>
      <model-type>menu</model-type>
      <template>nxthemes/webengine/fm/widgets/vertical-menu.xml</template>
    </view>

    <view name="horizontal tabs" template-engine="freemarker">
      <format-type>widget</format-type>
      <model-type>menu</model-type>
      <template>
        nxthemes/webengine/fm/widgets/horizontal-tabs.xml
      </template>
    </view>

    <view name="vertical list" template-engine="freemarker">
      <format-type>widget</format-type>
      <model-type>navigation</model-type>
      <template>nxthemes/webengine/fm/widgets/vertical-list.xml</template>
    </view>

    <view name="horizontal trail" template-engine="freemarker">
      <format-type>widget</format-type>
      <model-type>navigation</model-type>
      <template>nxthemes/webengine/fm/widgets/horizontal-trail.xml</template>
    </view>

    <view name="plain text" template-engine="freemarker">
      <format-type>widget</format-type>
      <model-type>text</model-type>
      <icon>nxthemes/html/icons/plain-text.png</icon>
      <template>nxthemes/webengine/fm/widgets/plain-text.xml</template>
    </view>

    <view name="plain html" template-engine="freemarker">
      <format-type>widget</format-type>
      <model-type>html</model-type>
      <icon>nxthemes/html/icons/plain-html.png</icon>
      <template>nxthemes/webengine/fm/widgets/plain-html.xml</template>
    </view>

    <!-- no style caching -->
    <view name="theme view" template-engine="freemarker">
      <engine>default</engine>
      <mode>no-cache</mode>
      <element-type>theme</element-type>
      <format-type>widget</format-type>
      <template>nxthemes/webengine/fm/widgets/theme-view-no-cache.xml</template>
    </view>

  </extension>


  <extension target="org.nuxeo.theme.services.ThemeService" point="negotiations">

    <negotiation object="engine" strategy="web">
      <scheme>
        org.nuxeo.theme.webengine.negotiation.engine.RequestParameter
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.engine.CookieValue
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.engine.RequestAttribute
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.engine.ViewId
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.engine.DefaultEngine
      </scheme>
    </negotiation>

    <negotiation object="mode" strategy="web">
      <scheme>
        org.nuxeo.theme.webengine.negotiation.mode.RequestParameter
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.mode.CookieValue
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.mode.RequestAttribute
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.mode.ViewId
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.mode.UnspecifiedMode
      </scheme>
    </negotiation>

    <negotiation object="theme" strategy="web">
      <scheme>
        org.nuxeo.theme.webengine.negotiation.theme.RequestParameter
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.theme.CookieValue
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.theme.RequestAttribute
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.theme.ViewId
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.theme.DefaultTheme
      </scheme>
    </negotiation>

    <negotiation object="perspective" strategy="web">
      <scheme>
        org.nuxeo.theme.webengine.negotiation.perspective.RequestParameter
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.perspective.CookieValue
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.perspective.RequestAttribute
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.perspective.ViewId
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.perspective.DefaultPerspective
      </scheme>
    </negotiation>


    <negotiation object="collection" strategy="web">
      <scheme>
        org.nuxeo.theme.webengine.negotiation.collection.RequestParameter
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.collection.CookieValue
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.collection.RequestAttribute
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.collection.ViewId
      </scheme>
      <scheme>
        org.nuxeo.theme.webengine.negotiation.collection.UnspecifiedCollection
      </scheme>
    </negotiation>

  </extension>

</component>